package com.shanzmoo.db.store.entity.vo;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


/**
 * 仓库发货单 vo对象
 *
 * @author Gzhao 2021-03-11
 */
@Data
@ApiModel("仓库发货单-vo询对象")
public class StoreDeliveryBillVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "自增ID")
    private Integer id;

    @ApiModelProperty(value = "发货单号")
    private String billNo;

    @ApiModelProperty(value = "发货类型：0-物流，1-自提")
    private Integer sendType;

    @ApiModelProperty(value = "物流单号")
    private String logisticsNo;

    @ApiModelProperty(value = "物流公司")
    private String logisticsCompany;

    @ApiModelProperty(value = "发货人")
    private String sendUser;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty(value = "发货时间")
    private LocalDateTime sendTime;

    @ApiModelProperty(value = "用户")
    private String member;

    @ApiModelProperty(value = "用户类型：0-member_info用户，1-store_member用户")
    private Integer memberType;

    @ApiModelProperty(value = "关联单号")
    private String originOrder;

    @ApiModelProperty(value = "关联单据类型：1-门店订单，2-商城订单，3-售后订单，4-第三方订单 , 5-手动出库单")
    private Integer originOrderType;

    @ApiModelProperty(value = "门店id")
    private String outlet;

    @ApiModelProperty(value = "状态：0-待确认,1-待发货,2-已发货,9-已取消")
    private Integer status;

    @ApiModelProperty(value = "收件人")
    private String consignee;

    @ApiModelProperty(value = "收件人手机")
    private String consigneeMobile;

    @ApiModelProperty(value = "收件人所在省市区")
    private String consigneeDistrict;

    @ApiModelProperty(value = "收件人详细地址")
    private String consigneeAddress;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "发货商品明细")
    List<StoreDeliveryBillDetailVO> detailList;
}
